package cn.virens.database.common;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import cn.virens.components.page.PageParam;
import cn.virens.components.page.PageResult;

/**
 * 通用的service接口
 * 
 * @文件   :BaseService.java
 * @作者   :cn.loioi
 * @创建时间 :2016年10月13日 下午1:24:13
 */
public interface BaseService<T> {

	/** 插入一条数据 */
	T insert(T record);

	/** 更新一条数据 */
	T update(T record);

	/** 删除一条数据 */
	int delete(Serializable id);

	/** 查询全部数据 */
	List<? extends T> selectAll(Map<String, Object> param);

	/** 根据ID查询一条数据 */
	T selectOne(Serializable id);

	/** 根据条件查询一条数据 */
	T selectOne(Map<String, Object> param);

	/** 根据 分页信息查询列表 */
	PageResult<?> selectPage(PageParam pageParam);

}
